Field of the Invention
The present invention relates generally to computer networks and, more particularly, to an application that is run by multiple users on a computer network.
Description of the Related Art
Computer networks, such as local area networks and the Internet, are increasingly being used as the backbone for various transactions and interactions between parties. From online banking, where bank customers can initiate financial transactions on a computer network, to online gaming, where garners can participate in various games over the Internet, service providers are increasingly providing a variety of services over computer networks. There are currently a variety of different computer network configurations that facilitate the transactions and interactions that take place.
One type of configuration is a classic client-server configuration, such as is illustrated in FIG. 1. In this configuration, a dedicated server computer 110 is communicatively linked to one or more client computers 120 over a network, such as through the Internet. The client computer 120 makes service requests to the server computer 110 and the server computer 110 fulfills the request by transmitting data to the requesting client computer 120 over the network. The server computer 110 can be connected to a data storage device or to other computer devices that facilitate transactions between the client and server computers. One characteristic of the client-server configuration is that the client computers cannot communicate directly with one another, as the client computers are limited to communicating with the server computer.
For example, where the client-server configuration is operated in an online gaming environment, the server computer 110 can be responsible for maintaining the various states that are associated with the online game. The server computer can be connected to other computers, such as a memory engine 140 that maintains one or more instances of a game, while the server computer 110 manages administrative matters such as player matching and account management. A game player on the client computer 120 can log onto the server computer 110 and receive a list of available games and participating players. The player chooses a game to start or join, thereby identifying a memory engine with which the player's computer establishes a client-server connection. In this manner, the server computer 110 and the memory engine 140 collectively administer the gaming environment for one or more client computers 120.
Another type of configuration is referred to as an integrated server configuration, such as is shown in FIG. 2. This configuration includes a dedicated server computer 110 and one or more client computers 120 that are each connected to the server computer 110 over a computer network. As in the previously-described configuration, the server computer 110 serves data to the client computers 120. However, one of the client computers 120, such as the client computer 120a, functions as an integrated server in that the client computer 120a can serve data to the other client computers 120. In an online gaming environment, the server computer 110 can perform administrative functions, such as player matching, account management, and chat room management, while the client computer/integrated server 120a can perform the function of the previously-described memory engine.
In yet another type of communication configuration, the various computers are arranged in a peer-to-peer configuration, such as is shown in FIG. 3. In a peer-to-peer configuration, each of the computers can communicate with the others, so that all of the computers function as “peers.” In one form of the peer-to-peer configuration, a dedicated server 110 is communicatively connected to a plurality of client computers 120 over a network. An online session is initially established by each of the client computers 120 connecting to an administrative computer, such as the server computer 110. The client computers 120 are then communicatively connected to one another so that each of the client computers 120 has the ability to both serve and receive data to and from any of the other client computers 120. In addition, each client computer 120 can operate in a client-server relationship with the dedicated server 110. Those skilled in the art will appreciate that there are other communication configurations in addition to the configurations described above.
The various configurations described above enable computer users to interact over a computer network, such as in an online game environment where game players can play computer games on a computer network. In such a scenario, at least one of the computers typically functions as a game manager that manages various aspects of the game, such as coordinating the number of players, keeping track of game state, and sending out updates to the users regarding game state. It can be appreciated that continuity of game play can be highly dependent on all of the users in a game continuing to play throughout the entire game period. Game play can be interrupted or even halted if one of the game players exits during the middle of a game, particularly where the exited player was managing a portion of the game.
For example, sports games typically have a fixed start and a fixed finish for the game, with at least two players competing in a game. In current configurations, there are often several players that participate in an online sporting contest, with each one of the players assuming the role of a player on a sporting team. For example, in an online football game, players can assume the roles of quarterback, receiver, defensive back, running back, etc. If one of the players were to suddenly leave during the middle of the game, then the game play would be interrupted or halted. This could also be the case in other types of games, where continuity of game play is dependent on each of the players in the game environment continuing to play throughout a particular scenario.
Unfortunately, current multi-user applications are not configured to account for when a participant in an online session suddenly or unexpectedly leaves the online session. If a player does leave an online session, then the session is unduly interrupted or terminated. In view of the foregoing, there is a need for a multi-user application that overcomes the aforementioned shortcomings.